Currently, most computer users (hereinafter also referred to as “users”) receive e-mail messages through a connection between a computer and an e-mail server. The e-mail server holds the received e-mail messages for the user, and may be installed at an ISP (Internet Service Provider), for example. Such servers usually operate according to the POP3 (Post Office Protocol 3) protocol or alternatively according to the IMAP4 (Internet Message Access Protocol, version 4) protocol. The computer of the user must operate an e-mail client, which is a software program for communicating with the e-mail server in order to download the e-mail messages, and then for displaying these e-mail messages to the user. The e-mail client communicates with the e-mail server according to the POP3 or IMAP4 protocol for receiving e-mail messages, and SMTP (Simple Message Transfer Protocol) for sending (or forwarding) e-mail messages.
The e-mail messages are typically encoded in the standard MIME multi-part message format, which enables the message to optionally also include one or more attachments, for example. Each put of the multi-part message may be separately and differently encoded, for example for plain text messages, as opposed to attached word processing documents, image files, video data, audio data and so forth. Such a multi-part message may be very large because of the size of the attachment(s).
Unfortunately, the e-mail client currently downloads the entire multi-part e-mail message when connected to the e-mail server for receiving messages. Since such a multi-part message may be very large, the process of downloading each message may require a significant period of time. Furthermore, the user cannot view each message with attachment(s) if any, until the entire message has been downloaded. If the computer of the user is connected to the e-mail server through a relatively slow, low bandwidth connection, such as a dial-up modem for example, then this process can be frustratingly slow.
The process is further slowed by the requirement for encoding the attachments in BASE64, in order to prevent the exposure of any control characters in the attachments to any servers which pass the e-mail message through the Internet. The BASE64 encoding method represents every 24 bits of the attachment with 32 bits, thereby increasing the size of the encoded attachments by about one third. Thus, the currently available mechanism for downloading e-mail messages clearly has a number of drawbacks.
An improved solution to this problem would enable the user to review e-mail messages before downloading them, or at least before downloading the complete multi-part message with attachment(s), as text-only e-mail messages are relatively small and quick to download. The user would still be able to download attachments of interest. In addition, the improved solution would provide for a streaming process for downloading e-mail attachments, in order for the user to be able to view the e-mail message as it is being downloaded. Unfortunately, such a solution is not currently available.